package com.nwpu.coursesupport.service.param;

import java.util.List;

import com.nwpu.coursesupport.entity.TaskSubmitResult;
import com.nwpu.coursesupport.entity.bean.Files;
import com.nwpu.coursesupport.enumeration.Useless_PersonTaskAssignType;
import com.nwpu.coursesupport.enumeration.Status;
import com.nwpu.coursesupport.enumeration.TaskType;

public class TaskSubmitResultServiceParam {

	public static class CreateParam extends TaskSubmitResult {

	}

	public static class UpdateParam extends TaskSubmitResult {

	}
	
	public static class SearchUserParam{
		private int courseId;
		private int taskId;
		private String keywords;
		private Useless_PersonTaskAssignType type;
		public int getCourseId() {
			return courseId;
		}
		public void setCourseId(int courseId) {
			this.courseId = courseId;
		}
		public int getTaskId() {
			return taskId;
		}
		public void setTaskId(int taskId) {
			this.taskId = taskId;
		}
		public String getKeywords() {
			return keywords;
		}
		public void setKeywords(String keywords) {
			this.keywords = keywords;
		}
		public Useless_PersonTaskAssignType getType() {
			return type;
		}
		public void setType(Useless_PersonTaskAssignType type) {
			this.type = type;
		}
	}
	
	public static class CreatePersonalTaskParam {
		
		private Integer taskId;
		private Integer assignId;
		private Useless_PersonTaskAssignType type;
		public Integer getTaskId() {
			return taskId;
		}
		public void setTaskId(Integer taskId) {
			this.taskId = taskId;
		}
		public Integer getAssignId() {
			return assignId;
		}
		public void setAssignId(Integer assignId) {
			this.assignId = assignId;
		}
		public Useless_PersonTaskAssignType getType() {
			return type;
		}
		public void setType(Useless_PersonTaskAssignType type) {
			this.type = type;
		}
	}

	
	public static class BatchCreatePersonalTaskParam{
		private Integer taskId;
		List<CreatePersonalTaskParam> params;

		public List<CreatePersonalTaskParam> getParams() {
			return params;
		}

		public void setParams(List<CreatePersonalTaskParam> params) {
			this.params = params;
		}

		public Integer getTaskId() {
			return taskId;
		}

		public void setTaskId(Integer taskId) {
			this.taskId = taskId;
		}
		
	}

	public static class SubmitParam {
		private int id;
		private Files resultAttachment;
		private String detail;
		private TaskType type;
		public int getId() {
			return id;
		}
		public void setId(int id) {
			this.id = id;
		}
		public Files getResultAttachment() {
			return resultAttachment;
		}
		public void setResultAttachment(Files resultAttachment) {
			this.resultAttachment = resultAttachment;
		}
		public String getDetail() {
			return detail;
		}
		public void setDetail(String detail) {
			this.detail = detail;
		}
		public TaskType getType() {
			return type;
		}
		public void setType(TaskType type) {
			this.type = type;
		}
		
	}
	
	public static class BatchReviewParam{
		private List<ReviewParam> batchReview;
		private int courseId;

		public List<ReviewParam> getBatchReview() {
			return batchReview;
		}

		public void setBatchReview(List<ReviewParam> batchReview) {
			this.batchReview = batchReview;
		}

		public int getCourseId() {
			return courseId;
		}

		public void setCourseId(int courseId) {
			this.courseId = courseId;
		}
		
	}
	public static class ReviewParam{
		private int id;
		private double score;
		private String evaluate;
		public int getId() {
			return id;
		}
		public void setId(int id) {
			this.id = id;
		}
		public double getScore() {
			return score;
		}
		public void setScore(double score) {
			this.score = score;
		}
		public String getEvaluate() {
			return evaluate;
		}
		public void setEvaluate(String evaluate) {
			this.evaluate = evaluate;
		}
	}
	
	public static class DealAnswerVisible {
		private int id;
		private Status isAnswerVisible;
		public int getId() {
			return id;
		}
		public void setId(int id) {
			this.id = id;
		}
		public Status getIsAnswerVisible() {
			return isAnswerVisible;
		}
		public void setIsAnswerVisible(Status isAnswerVisible) {
			this.isAnswerVisible = isAnswerVisible;
		}
		
	}
	
	public static class BatchDealAnswerVisible{
		private Status isAnswerVisible;
		private List<Integer> ids;
		public Status getIsAnswerVisible() {
			return isAnswerVisible;
		}
		public void setIsAnswerVisible(Status isAnswerVisible) {
			this.isAnswerVisible = isAnswerVisible;
		}
		public List<Integer> getIds() {
			return ids;
		}
		public void setIds(List<Integer> ids) {
			this.ids = ids;
		}
		
	}
	
	public static class ShareSubmitParam{
		private int id;
		private Status isShare;
		public int getId() {
			return id;
		}
		public void setId(int id) {
			this.id = id;
		}
		public Status getIsShare() {
			return isShare;
		}
		public void setIsShare(Status isShare) {
			this.isShare = isShare;
		}
	}
}
